Many communication protocols use data that is encoded using an 8b/10b encoding scheme. The 8b/10b encoding scheme encodes 8 bits of data into 10 bits of encoded data. In addition to encoding data, the 8b/10b encoding scheme permits a limited number of control characters to be encoded. For each of the 256 possible values for 8 bits of data and each of the typically 12 possible control characters, the 8b/10b encoding scheme has one, or a pair of, corresponding 10 bit encodings.
The 8b/10b encoding scheme permits the data and control codes to be communicated over communication media in a manner that is band limited and is run-length limited. The communication media may be copper cable, fiber optic cable, or traces on a printed circuit board.
The 8b/10b encoding scheme is band limited because the frequency components of a signal encoded using the 8b/10b encoding scheme are limited to a band of frequencies, and this band of frequencies does not include a DC component. The band limiting may reduce the distortion of the signal by the communication media due to dispersion of the various frequency components. The lack of a DC component may permit capacitive coupling of the signal.
The limited run-length and associated high transition density of the 8b/10b encoding scheme may permit a phase locked loop to recover from a received signal the clock used to transmit the signal. Because a separate clock signal may not be needed, the 8b/10b encoding scheme may reduce the number of signals needed to transmit data over a communication media.
The control characters of the 8b/10b encoding scheme are typically used to encode protocol data, such as transmitter-receiver synchronization, protocol initialization, control packet framing, and data packet framing. While many communication standards use the 8b/10b encoding scheme, such as Ethernet, Infiniband, and PCI Express, the meanings assigned to the control characters and control information generally vary between the various standards.
The generic framing procedure (GFP) is an emerging standard, ITU-T G.7041/Y.1303, for converting into a data stream the low-level encoded protocol data for various communication standards that use the 8b/10b encoding scheme. The data stream includes both the data and the control characters of the 8b/10b encoding scheme. The low-level encoded protocol data is remotely reconstructed from the data stream, typically after the data stream is transferred over a telecommunication network. GFP permits various communication standards using the 8b/10b encoding scheme to be transparently transported over a telecommunication network.
Part of the GFP is conversion of the format of the control characters from a format for the 8b/10b encoding scheme into a GFP format. There is a general need to efficiently convert between formats that represent control characters in an 8b/10b encoding using a reduced amount of logic and to complete a conversion between formats in a short period of time.
The present invention may address one or more of the above issues.